C#高手,请教一下关于"索引超出了数组界限"?

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:14:35
for (int i=0;i<2;i++) //我是想找出事先赋值好的数组Array中,任俩个 { //值加起来等于100的数组元素.
for(int j=0;j<50;j++)
{
for (int m=0;m<2;i++)
{
for(int n=0;n<50;j++)
{
if(Array[i,j]+Array[m,n+1]==100) //此处运行会出现问题
Console.WriteLine (Array[i,j]+' '+Array[m,n+1]);

}
}
}
}

n+1,当n=49时,A[m,50]不就越界了么。
改成if((i<>m || j<>n) && Array[i,j]+Array[m,n]==100)就行了

数组的索引是从0开始的,如int[] a = {1,2,3};
a[0] = 1;
a[1] = 2;
a[2] = 3;
如果你在程序中有a[3]那么就会报错越界啦.

当你的n=49的时候n+1就等于50了。所以就越界了。谢谢!